﻿
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace Wpf.Models
{
    public class PatDiagnose : BindableBase
    {
        private string id;
        public string ID
        {
            get { return id; }
            set
            {
                id = value;
                RaisePropertyChanged("ID");
            }
        }
        private string pvid;
        public string PVID
        {
            get { return pvid; }
            set
            {
                pvid = value;
                RaisePropertyChanged("PVID");
            }
        }
        private string patientid;
        public string PATIENTID
        {
            get { return patientid; }
            set
            {
                patientid = value;
                RaisePropertyChanged("PATIENTID");
            }
        }
        private string visitno;
        public string VISITNO
        {
            get { return visitno; }
            set
            {
                visitno = value;
                RaisePropertyChanged("VISITNO");
            }
        }
        private DateTime visitdate;
        public DateTime VISITDATE
        {
            get { return visitdate; }
            set
            {
                visitdate = value;
                RaisePropertyChanged("VISITDATE");
            }
        }

        /// <summary>
        /// 诊断类型 
        /// 诊断类型改为int  2023-04-03
        /// </summary>
        private int? diagnosetype;

        /// <summary>
        /// 诊断类型 
        /// 诊断类型改为int  2023-04-03
        /// </summary>
        public int? DIAGNOSETYPE
        {
            get { return diagnosetype; }
            set
            {
                diagnosetype = value;
                RaisePropertyChanged("DIAGNOSETYPE");
            }
        }

        /// <summary>
        /// 诊断类型名称（从表取建议用转换器）  2023-04-03
        /// </summary>
        public string DianoseTypeName
        {
            get
            {
                return "";
            }
        }

        private string diagnosecode;
        public string DIAGNOSECODE
        {
            get { return diagnosecode; }
            set
            {
                diagnosecode = value;
                RaisePropertyChanged("DIAGNOSECODE");
            }
        }
        private string diagnosename;
        public string DIAGNOSENAME
        {
            get { return diagnosename; }
            set
            {
                diagnosename = value;
                RaisePropertyChanged("DIAGNOSENAME");
            }
        }

        private string diagnoseDescribe;
        public string DIAGNOSEDESCRIBE
        {
            get { return diagnoseDescribe; }
            set
            {
                diagnoseDescribe = value;
                RaisePropertyChanged("DIAGNOSEDESCRIBE");
            }
        }

        private string displayname;
        public string DISPLAYNAME
        {
            get { return displayname; }
            set
            {
                displayname = value;
                RaisePropertyChanged("DISPLAYNAME");
            }
        }
        private string doctorcode;
        public string DOCTORCODE
        {
            get { return doctorcode; }
            set
            {
                doctorcode = value;
                RaisePropertyChanged("DOCTORCODE");
            }
        }
        private DateTime createtime;
        public DateTime CREATEDATE
        {
            get { return createtime; }
            set
            {
                createtime = value;
                RaisePropertyChanged("CREATEDATE");
            }
        }
        private DateTime renewdate;
        public DateTime RENEWDATE
        {
            get { return renewdate; }
            set
            {
                renewdate = value;
                RaisePropertyChanged("RENEWDATE");
            }
        }
        private string renewname;
        public string RENEWNAME
        {
            get { return renewname; }
            set
            {
                renewname = value;
                RaisePropertyChanged("RENEWNAME");
            }
        }
        private string renewcode;
        public string RENEWCODE
        {
            get { return renewcode; }
            set
            {
                renewcode = value;
                RaisePropertyChanged("RENEWCODE");
            }
        }
        private int deleteflag = 0;
        public int DELETEFLAG
        {
            get { return deleteflag; }
            set
            {
                deleteflag = value;
                RaisePropertyChanged("DELETEFLAG");
            }
        }
        private string additional1;
        public string ADDITIONAL1
        {
            get { return additional1; }
            set
            {
                additional1 = value;
                RaisePropertyChanged("ADDITIONAL1");
            }
        }
        private string additional2;
        public string ADDITIONAL2
        {
            get { return additional2; }
            set
            {
                additional2 = value;
                RaisePropertyChanged("ADDITIONAL2");
            }
        }
        private string additional3;
        public string ADDITIONAL3
        {
            get { return additional3; }
            set
            {
                additional3 = value;
                RaisePropertyChanged("ADDITIONAL3");
            }
        }
        private string diagnosennote;
        public string DIAGNOSENOTE
        {
            get { return diagnosennote; }
            set
            {
                diagnosennote = value;
                RaisePropertyChanged("DIAGNOSENOTE");
            }
        }
        private string traineeaccount;
        public string TRAINEEACCOUNT
        {
            get { return traineeaccount; }
            set
            {
                traineeaccount = value;
                RaisePropertyChanged("TRAINEEACCOUNT");
            }
        }
        private string traineename;
        public string TRAINEENAME
        {
            get { return traineename; }
            set
            {
                traineename = value;
                RaisePropertyChanged("TRAINEENAME");
            }
        }
        private string diagstatus;
        public string DIAGSTATUS
        {
            get { return diagstatus; }
            set
            {
                diagstatus = value;
                RaisePropertyChanged("DIAGSTATUS");
            }
        }

        private int indexno = 0;

        public int INDEXNO
        {
            get { return indexno; }
            set
            {
                indexno = value;
                RaisePropertyChanged("INDEXNO");
            }
        }
        private bool bolReadonly = true;
        public bool BolReadonly
        {
            get { return bolReadonly; }
            set
            {
                bolReadonly = value;
                RaisePropertyChanged("BolReadonly");
            }
        }
        private int rownum = 0;

        public int ROWNUM
        {
            get { return rownum; }
            set
            {
                rownum = value;
                RaisePropertyChanged("ROWNUM");
            }
        }

        /// <summary>
        /// 操作状态·1添加 2修改 3删除
        /// </summary>
        public int OPESTATE { get; set; } 

        /// <summary>
        /// 医生工号
        /// </summary>
        private string doctorEmpNo;
        public string DOCTOREMPLOYEENUMBER
        {
            get { return doctorEmpNo; }
            set
            {
                doctorEmpNo = value;
                RaisePropertyChanged("DOCTOREMPLOYEENUMBER");
            }
        }

        private string diagnoseJBBH;
        public string DIAGNOSEJBBH
        {
            get { return diagnoseJBBH; }
            set
            {
                diagnoseJBBH = value;
                RaisePropertyChanged("DIAGNOSEJBBH");
            }
        }
        /// <summary>
        /// 数据来源：0His 1急诊
        /// </summary>
        private int dateFrom = 1;
        public int DATAFROM
        {
            get { return dateFrom; }
            set
            {
                dateFrom = value;
                RaisePropertyChanged("DATAFROM");
            }
        }

        /// <summary>
        /// 就诊类别： 0自费 1医保 2 特殊病
        /// </summary>
        private string jzlb;
        public string JZLB
        {
            get { return jzlb; }
            set
            {
                jzlb = value;
                RaisePropertyChanged("JZLB");
            }
        }


        /// <summary>
        /// 组号
        /// </summary>
        private int groupnum;
        public int GROUPNUM
        {
            get { return groupnum; }
            set
            {
                groupnum = value;
                RaisePropertyChanged("GROUPNUM");
            }
        }

        /// <summary>
        /// 父诊断ID
        /// </summary>
        private string parientId;
        public string PARIENTID
        {
            get { return parientId; }
            set
            {
                parientId = value;
                RaisePropertyChanged("PARIENTID");
            }
        }

        /// <summary>
        /// 传染病上报标识 :null 本地上报，1：第三方上报
        /// </summary>
        private int? infectionFlag;
        public int? INFECTIONFLAG
        {
            get { return infectionFlag; }
            set
            {
                infectionFlag = value;
                RaisePropertyChanged("INFECTIONFLAG");
            }
        }

        /// <summary>
        /// 诊断前缀
        /// </summary>
        private string _CLINIC_DIAGNOSE_BEFORE;
        public string CLINIC_DIAGNOSE_BEFORE
        {
            get { return _CLINIC_DIAGNOSE_BEFORE; }
            set
            {
                _CLINIC_DIAGNOSE_BEFORE = value;
                RaisePropertyChanged("CLINIC_DIAGNOSE_BEFORE");
            }
        }

        /// <summary>
        /// 诊断后缀
        /// </summary>
        private string _CLINIC_DIAGNOSE_AFTER;
        public string CLINIC_DIAGNOSE_AFTER
        {
            get { return _CLINIC_DIAGNOSE_AFTER; }
            set
            {
                _CLINIC_DIAGNOSE_AFTER = value;
                RaisePropertyChanged("CLINIC_DIAGNOSE_AFTER");
            }
        }

        /// <summary>
        /// 拼音简码
        /// </summary>
        private string diagnoname_PinYinSimple;
        public string DIAGNOSENAME_PinYinSimple
        {
            get { return diagnoname_PinYinSimple; }
            set
            {
                diagnoname_PinYinSimple = value;
                RaisePropertyChanged("DIAGNOSENAME_PinYinSimple");
            }
        }

        public PatDiagnose Copy()
        {
            PatDiagnose diagItem = new PatDiagnose();
            diagItem.ID = this.ID;
            diagItem.PVID = this.PVID;
            diagItem.PATIENTID = this.PATIENTID;
            diagItem.VISITNO = this.VISITNO;
            diagItem.VISITDATE = this.VISITDATE;
            diagItem.DIAGNOSETYPE = this.DIAGNOSETYPE;
            diagItem.DIAGNOSECODE = this.DIAGNOSECODE;
            diagItem.DIAGNOSENAME = this.DIAGNOSENAME;
            diagItem.DISPLAYNAME = this.DISPLAYNAME;
            diagItem.DOCTORCODE = this.DOCTORCODE;
            diagItem.CREATEDATE = this.CREATEDATE;
            diagItem.RENEWDATE = this.RENEWDATE;
            diagItem.RENEWNAME = this.RENEWNAME;
            diagItem.RENEWCODE = this.RENEWCODE;
            diagItem.DELETEFLAG = this.DELETEFLAG;
            diagItem.ADDITIONAL1 = this.ADDITIONAL1;
            diagItem.ADDITIONAL2 = this.ADDITIONAL2;
            diagItem.ADDITIONAL3 = this.ADDITIONAL3;
            diagItem.DIAGNOSENOTE = this.DIAGNOSENOTE;
            diagItem.TRAINEEACCOUNT = this.TRAINEEACCOUNT;
            diagItem.TRAINEENAME = this.TRAINEENAME;
            diagItem.DIAGSTATUS = this.DIAGSTATUS;
            diagItem.INDEXNO = this.INDEXNO;
            diagItem.DIAGNOSEDESCRIBE = this.DIAGNOSEDESCRIBE;
            diagItem.DOCTOREMPLOYEENUMBER = this.DOCTOREMPLOYEENUMBER;
            diagItem.DIAGNOSEJBBH = this.DIAGNOSEJBBH;
            diagItem.DATAFROM = this.DATAFROM;
            diagItem.JZLB = this.JZLB;
            diagItem.GROUPNUM = this.GROUPNUM;
            diagItem.PARIENTID = this.PARIENTID;
            diagItem.CLINIC_DIAGNOSE_BEFORE = this.CLINIC_DIAGNOSE_BEFORE;
            diagItem.CLINIC_DIAGNOSE_AFTER = this.CLINIC_DIAGNOSE_AFTER;
            diagItem.DIAGNOSENAME_PinYinSimple = this.DIAGNOSENAME_PinYinSimple;
            diagItem.INFECTIONFLAG = this.INFECTIONFLAG;

            return diagItem;
        }

    }

}
